package models

import (
	"fmt"
	"github.com/astaxie/beego/logs"
	"github.com/snail007/go-activerecord/mysql"
	"os"
)

// 全局单例
var G *mysql.DBGroup

// 初始化数据库(测试专用)
func InitDBForTest() {
	// 连接数据库信息
	host := "127.0.0.1"
	port := 3306
	user := "zrd"
	pass := "123456"
	dbname := "codepub"
	dbTablePrefix := "cp_" // 表名前缀
	maxIdle := 11          // 最大空闲连接
	maxConn := 11          // 最大连接数

	// 设置默认数据库
	G = mysql.NewDBGroup("default")
	cfg := mysql.NewDBConfigWith(host, port, dbname, user, pass)
	cfg.SetMaxIdleConns = maxIdle
	cfg.SetMaxOpenConns = maxConn
	cfg.TablePrefix = dbTablePrefix
	cfg.TablePrefixSqlIdentifier = "__PREFIX__"
	err := G.Regist("default", cfg)
	if err != nil {
		logs.Error(fmt.Errorf("database error:%s,with config : %v", err, cfg))
		os.Exit(100)
	}
}
